﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using RN.ERP.DTO;
using System.Data.Entity;

namespace RN.ERP.BLL
{
    public class BaseKaoHeBll : IBll
    {
        protected DbContext baseContext;

        public virtual Dictionary<string, double> GetCorpDeDuckList(List<string> corpGuid, string areaCode)
        {
            return null;
        }

        #region 代理考核申请

        /// <summary>
        /// 返回申请信息
        /// </summary>
        /// <param name="keyGuid"></param>
        /// <param name="corpUserGuid"></param>
        /// <param name="appId"></param>
        /// <param name="areaCode"></param>
        /// <returns></returns>
        public virtual DTO.OperationResult GetCorpSnap(string keyGuid, string snapType, string areaCode)
        {
            return null;
        }

        /// <summary>
        /// 添加信用申请
        /// </summary>
        /// <param name="corpUserGuid"></param>
        /// <param name="appId"></param>
        /// <param name="areaCode"></param>
        /// <returns></returns>
        public virtual DTO.OperationResult CorpSnapAdd(string corpUserGuid, string appId, string areaCode)
        {
            return null;
        }

        /// <summary>
        /// 修改信用申请
        /// </summary>
        /// <param name="keyGuid"></param>
        /// <param name="appId"></param>
        /// <param name="areaCode"></param>
        /// <returns></returns>
        public virtual DTO.OperationResult CorpSnapEdit(string keyGuid, string appId, string areaCode)
        {
            return null;
        }

        /// <summary>
        /// 删除信用申请
        /// </summary>
        /// <param name="keyGuid"></param>
        /// <param name="areaCode"></param>
        /// <returns></returns>
        public virtual DTO.OperationResult CorpSnapDel(string keyGuid, string areaCode)
        {
            return null;
        }

        /// <summary>
        /// 申请上报
        /// </summary>
        /// <param name="keyGuid"></param>
        /// <param name="corpUserGuid"></param>
        /// <param name="areaCode"></param>
        /// <returns></returns>
        public virtual DTO.OperationResult CorpSnapPost(string keyGuid, string corpUserGuid, string isrtUserGuid, string areaCode)
        {
            return null;
        }

        public virtual DTO.OperationResult CorpCancel(
            string snapGuid,
            string isrtUserGuid,
            string areaCode,
            bool isAll,
            string content,
            string isrtUserRole)
        {
            return null;
        }

        /// <summary>
        /// 验证申请状态
        /// </summary>
        /// <param name="corpSnapGuid"></param>
        /// <returns></returns>
        public virtual DTO.OperationResult CheckCorpSnapStatus(string corpSnapGuid, int flag)
        {
            return null;
        }

        /// <summary>
        /// 添加修改企业规章制度
        /// </summary>
        /// <param name="corpUserGuid"></param>
        /// <param name="regulatory"></param>
        /// <param name="areaCode"></param>
        /// <returns></returns>
        public virtual DTO.OperationResult CompanyRegulatoryEdit(string corpUserGuid, string regulatory, string areaCode)
        {
            return null;
        }

        /// <summary>
        /// 修改企业开户行
        /// </summary>
        /// <param name="corpUserGuid"></param>
        /// <param name="regulatory"></param>
        /// <param name="areaCode"></param>
        /// <returns></returns>
        public virtual DTO.OperationResult CompanyBankEdit(string corpUserGuid, string bankName, string bankAccNo, string areaCode)
        {
            return null;
        }

        /// <summary>
        /// 修改人员社保号
        /// </summary>
        /// <param name="empGuid"></param>
        /// <param name="corpUserGuid"></param>
        /// <param name="insuranceNum"></param>
        /// <param name="areaCode"></param>
        /// <returns></returns>
        public virtual DTO.OperationResult PersonEmpInsuranceNumEdit(string empGuid, string corpUserGuid, string insuranceNum, string areaCode)
        {
            return null;
        }

        /// <summary>
        /// 返回规章制度信息
        /// </summary>
        /// <param name="corpUserGuid"></param>
        /// <param name="areaCode"></param>
        /// <returns></returns>
        public virtual string GetCompanyRegulatory(string corpUserGuid, string areaCode)
        {
            return "";
        }

        /// <summary>
        /// 判断企业本年度的申请信息是否存在
        /// </summary>
        /// <param name="corpSnapGuid"></param>
        /// <param name="corpUserGuid"></param>
        /// <param name="flag"></param>
        /// <returns></returns>
        public virtual DTO.OperationResult CheckCorpSnapYearIsExist(string corpUserGuid, string areaCode)
        {
            return null;
        }

        /// <summary>
        /// 获取企业快照列表。
        /// </summary>
        /// <param name="pageCount"></param>
        /// <param name="pageSize"></param>
        /// <param name="conditions"></param>
        /// <returns></returns>
        public virtual IList<DTO.CorpSnapInfoForShort> GetCorpSnapList(
            int pageCount,
            int pageSize,
            string conditions,
            int roleId)
        {
            return null;
        }

        #endregion

        #region 代理考核评分

        /// <summary>
        /// 主管信用评价实际初审意见汇总表
        /// </summary>
        /// <param name="evaluationId"></param>
        /// <param name="appId"></param>
        /// <param name="classId"></param>
        /// <param name="areaCode"></param>
        /// <returns></returns>
        public virtual List<DTO.CorpSnapEvaluationScore> GetCorpSnapEvaluationScoreSum(string startDate, string endDate, string corpRoleIds, string cityRoleIds, string appId, string areaCode)
        {
            return null;
        }

        /// <summary>
        /// 返回拥有查询证书的人员数
        /// </summary>
        /// <param name="corpUserGuid"></param>
        /// <param name="areaCode"></param>
        /// <returns></returns>
        public virtual int GetCorpPersonCert(string corpUserGuid, string areaCode, int typeFlags)
        {
            return 0;
        }

        /// <summary>
        /// 添加修改评分参数指标数据
        /// </summary>
        /// <param name="corpUserGuid"></param>
        /// <param name="regulatory"></param>
        /// <param name="areaCode"></param>
        /// <returns></returns>
        public virtual DTO.OperationResult CorpEvaluationParamsEdit(string corpUserGuid, string evaluationParams, string areaCode)
        {
            return null;
        }

        /// <summary>
        /// 返回评分参数指标
        /// </summary>
        /// <param name="corpUserGuid"></param>
        /// <param name="areaCode"></param>
        /// <returns></returns>
        public virtual string GetCorpAttachInfo(string corpUserGuid, string content, string areaCode)
        {
            return null;
        }

        /// <summary>
        /// 初审汇总表
        /// </summary>
        /// <param name="snapGuid"></param>
        /// <param name="corpRoleIds"></param>
        /// <param name="roleIds"></param>
        /// <param name="appId"></param>
        /// <param name="classId"></param>
        /// <param name="areaCode"></param>
        /// <returns></returns>
        public virtual List<DTO.Corp_EvaluationScore> CorpEvaluationItemsStatistic(string snapGuid, string corpRoleIds, string cityRoleIds, string appId, int classId, string areaCode)
        {
            return null;
        }

        /// <summary>
        /// 取得评分项列表
        /// </summary>
        /// <param name="appId"></param>
        /// <param name="classId"></param>
        /// <param name="areaCode"></param>
        /// <returns></returns>
        public virtual List<DTO.Corp_EvaluationScore> GetCorpEvaluationItems(int evaluationId, string appId, int classId, string areaCode)
        {
            return null;
        }

        /// <summary>
        /// 取得当前用户的信用评价主表ID
        /// </summary>
        /// <param name="corpUserGuid"></param>
        /// <param name="snapGuid"></param>
        /// <param name="isrtUserGuid"></param>
        /// <param name="areaCode"></param>
        /// <returns></returns>
        public virtual DTO.OperationResult GetCorpEvaluationScoreID(string corpUserGuid, string snapGuid, string isrtUserGuid, string areaCode)
        {
            return null;
        }

        /// <summary>
        /// 返回评分项及分值
        /// </summary>
        /// <param name="evaluationId"></param>
        /// <param name="appId"></param>
        /// <param name="classId"></param>
        /// <param name="areaCode"></param>
        /// <returns></returns>
        public virtual List<DTO.Tb_Corp_EvaluationItem> GetCorpEvaluationScore(int evaluationId, string appId, int classId, string areaCode)
        {
            return null;
        }

        /// <summary>
        /// 返回评价上报状态
        /// </summary>
        /// <param name="corpEvalId"></param>
        /// <param name="areaCode"></param>
        /// <returns></returns>
        public virtual DTO.OperationResult GetCorpEvaluationState(int corpEvalId, string areaCode)
        {
            return null;
        }

        /// <summary>
        /// 根据角色查看企业评价表的各类打分信息
        /// 2014-5-16 毛凯
        /// </summary>
        /// <param name="snapGuid"></param>
        /// <param name="corpUserGuid"></param>
        /// <param name="areaCode"></param>
        /// <returns></returns>
        public virtual List<DTO.Tb_Corp_Evaluation> GetCorpEvaluationScoreList(
            string snapGuid,
            string corpUserGuid,
            string roleIds,
            string areaCode)
        {
            return null;
        }

        /// <summary>
        /// 打分汇总
        /// 2014-5-16 毛凯
        /// </summary>
        /// <param name="snapGuid"></param>
        /// <param name="corpUserGuid"></param>
        /// <param name="areaCode"></param>
        /// <returns></returns>
        public virtual OperationResult SaveCorpEvaluation(
            string snapGuid,
            string corpUserGuid,
            string isrtUserGuid,
             string appId,
            int classId,
            string areaCode)
        {
            return null;
        }

        #endregion

        #region 企业评价信息子表
        public virtual DTO.OperationResult AddCorpEvaluationSub(string corpEvaSub)
        {
            return null;
        }

        public virtual string GetCorp_EvaluationSub(int itemID, int treeID)
        {
            return string.Empty;
        }
        #endregion

        #region 聊城年检
        public virtual IList<DTO.EntitySnap> GetEntitySnapList(
        int pageNum,
        int pageSize,
        string conditions,
        out int cnt)
        {
            cnt = 0;
            return null;
        }

        public virtual DTO.OperationResult GetEntitySnapInfo(string entityGuid, int snapKind)
        {
            return null;
        }

        public virtual DTO.OperationResult SaveEntitySnapInfo(DTO.EntitySnap snapModel)
        {
            return null;
        }

        public virtual DTO.OperationResult DeleteSnapInfo(string keyGuid, string areaCode)
        {
            return null;
        }


        public virtual OperationResult SaveAssessmentDetails(DTO.tb_AssessmentDetailsModel model)
        {
            return null;
        }

        public virtual DTO.OperationResult DeleteAssessmentDetails(int id, string optUser, string areaCode)
        {
            return null;
        }

        /// <summary>
        /// 查询企业考核指标详细信息,指定指标请使用condition中IndexIDList
        /// </summary>
        /// <param name="corpUserGuid"></param>
        /// <param name="condition"></param>
        /// <param name="areaCode"></param>
        /// <returns></returns>
        public virtual List<DTO.AssessmentDetails> GetCorpAssessmentDetails(string corpUserGuid, DTO.tb_dict_PerformanceAssessmentIndexModel condition, string areaCode)
        {
            return null;
        }

        #endregion
    }
}
